9cfdc3aab660196096327ec5126ef6c727c6a7ba,src/main/java/com/graphhopper/matching/MapMatching.java,MapMatching,doWork,#List#List#number#boolean#,203

Before Change


        if (doEnd) {
            // add very last edge
            EdgeIteratorState es = pathEdgeList.get(pathEdgeList.size() - 1);
            if (es.getAdjNode() >= nodeCount) {
                EdgeIteratorState realEdge = virtualEdgesMap.get(es.getEdge());
                if (list.isEmpty() || list.get(0).getEdge() != realEdge.getEdge()) {
                    list.add(realEdge.detach(true));

After Change


        if (doEnd) {
            // add very last edge
            EdgeIteratorState es = pathEdgeList.get(pathEdgeList.size() - 1);
            if (isVirtualNode(es.getAdjNode())) {
                EdgeIteratorState realEdge = virtualEdgesMap.get(es.getEdge());
                if (list.isEmpty() || list.get(0).getEdge() != realEdge.getEdge()) {
                    list.add(realEdge.detach(true));